Many corporations provide their business computer software or business applications as web applications. In this case, the client browser, such as a Microsoft Explorer or Netscape Navigator computer program, is installed on a personal computer. The client browser acts as a thin client and provides requests and inputs and receives pages which the client browser displays. The business rules or application specific behavior associated with the business application may be provided by a web application which executes on a server computer. The web application receives requests from the client browser in hypertext markup language (HTML) format and returns HTML formatted documents responsive to the requests for display on the client browser. The data required by the web application may be provided by a back-end data store system.
Software reuse refers to creating new computer programs or software which contains at least a portion of software which already exists and was not developed specifically for the new computer program. Software reuse is a useful strategy to reduce the cost of developing new software and to shorten development cycles. Software reuse may increase the reliability of software because the reused software may have been more thoroughly exercised or tested by application users. Several software development methodologies and programming languages directly support software reuse, for example, an object oriented programming development methodology, a JAVA programming language, and a C++ programming language.